---
title: SAIF.Services.Appworx overview
summary: High-level purpose, scope, and responsibilities for this library.
status: draft
owner: SAIF Documentation
last_reviewed: 2026-08-21
library: SAIF.Services.Appworx
reference_type: embedded
---

# SAIF.Services.Appworx overview

> **Documentation context:** Embedded library compiled directly into the LegalMaintenance web application.
> **Documented via:** `LegalMaintenance.sln`, consumed through `SAIF.Business.Claim.Legal` and `SAIF.Application.Claim.Legal`.

`SAIF.Services.Appworx` is a small, single-purpose integration/service library that lets in-repo business and application code submit a batch job to the Appworx enterprise job scheduler by calling the Oracle stored procedure `submit_appworx_job`.

## Purpose
- Translate a "run this batch job with these arguments" intent into the Appworx scheduler's Oracle submission contract (`submit_appworx_job`), normalizing argument handling (fixed 20 positional slots, empty-slot suppression, defaults for requestor and printer).
- Consumed by `SAIF.Business.Claim.Legal` and `SAIF.Application.Claim.Legal`; in this repository every observed call originates from `SAIF.Application.Claim.Legal/LegalNet/` managers (`clsCreateFileManager`, `clsMailDateManager`, `clsRequestManager`) submitting the `LGN0002_LEGALNET_LETTERS` module.

## Responsibilities
- Provide a stateful instance API (`clsRequestAppworxJob`) and a stateless shared convenience overload (`SubmitBatchJob`) that constructs a fresh instance per call.
- Reset argument state between submissions (`InitArgs`) so a reused instance cannot leak arguments from a previous job ([BR-007](business-rules.md#br-007-argument-slots-never-carry-over-between-submissions)).
- Optionally redirect submissions to a fixed, hard-coded Appworx-hosting Oracle database/schema (`PRADT` on `WCISPROD`/`WCISDEV1`) instead of the caller's own data portal, via the `inUseWCISDEV1AppworxForAllDevEnv` flag ([BR-001](business-rules.md#br-001-environment-based-portal-routing-to-pradt), [BR-002](business-rules.md#br-002-production-only-routing-to-the-production-appworx-database)).

## Key components
- `clsRequestAppworxJob`: the sole hand-written type; exposes the instance API (constructor, properties, `SubmitBatchJob`, `InitArgs`) and the Shared `SubmitBatchJob` convenience overload used by all in-repo callers.

## Related documentation
- [Index](index.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [Procedures](procedures/index.md)
- [API reference](api/index.md)

## Sources
- `SAIF.Services.Appworx/clsRequestAppworxJob.vb`
- `SAIF.Services.Appworx/SAIF.Services.Appworx.vbproj`
